package com.shzu.pojo;

import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
@Component
public class MajorInfoExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public MajorInfoExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andMidIsNull() {
            addCriterion("mid is null");
            return (Criteria) this;
        }

        public Criteria andMidIsNotNull() {
            addCriterion("mid is not null");
            return (Criteria) this;
        }

        public Criteria andMidEqualTo(String value) {
            addCriterion("mid =", value, "mid");
            return (Criteria) this;
        }

        public Criteria andMidNotEqualTo(String value) {
            addCriterion("mid <>", value, "mid");
            return (Criteria) this;
        }

        public Criteria andMidGreaterThan(String value) {
            addCriterion("mid >", value, "mid");
            return (Criteria) this;
        }

        public Criteria andMidGreaterThanOrEqualTo(String value) {
            addCriterion("mid >=", value, "mid");
            return (Criteria) this;
        }

        public Criteria andMidLessThan(String value) {
            addCriterion("mid <", value, "mid");
            return (Criteria) this;
        }

        public Criteria andMidLessThanOrEqualTo(String value) {
            addCriterion("mid <=", value, "mid");
            return (Criteria) this;
        }

        public Criteria andMidLike(String value) {
            addCriterion("mid like", value, "mid");
            return (Criteria) this;
        }

        public Criteria andMidNotLike(String value) {
            addCriterion("mid not like", value, "mid");
            return (Criteria) this;
        }

        public Criteria andMidIn(List<String> values) {
            addCriterion("mid in", values, "mid");
            return (Criteria) this;
        }

        public Criteria andMidNotIn(List<String> values) {
            addCriterion("mid not in", values, "mid");
            return (Criteria) this;
        }

        public Criteria andMidBetween(String value1, String value2) {
            addCriterion("mid between", value1, value2, "mid");
            return (Criteria) this;
        }

        public Criteria andMidNotBetween(String value1, String value2) {
            addCriterion("mid not between", value1, value2, "mid");
            return (Criteria) this;
        }

        public Criteria andNationalcidIsNull() {
            addCriterion("nationalcid is null");
            return (Criteria) this;
        }

        public Criteria andNationalcidIsNotNull() {
            addCriterion("nationalcid is not null");
            return (Criteria) this;
        }

        public Criteria andNationalcidEqualTo(String value) {
            addCriterion("nationalcid =", value, "nationalcid");
            return (Criteria) this;
        }

        public Criteria andNationalcidNotEqualTo(String value) {
            addCriterion("nationalcid <>", value, "nationalcid");
            return (Criteria) this;
        }

        public Criteria andNationalcidGreaterThan(String value) {
            addCriterion("nationalcid >", value, "nationalcid");
            return (Criteria) this;
        }

        public Criteria andNationalcidGreaterThanOrEqualTo(String value) {
            addCriterion("nationalcid >=", value, "nationalcid");
            return (Criteria) this;
        }

        public Criteria andNationalcidLessThan(String value) {
            addCriterion("nationalcid <", value, "nationalcid");
            return (Criteria) this;
        }

        public Criteria andNationalcidLessThanOrEqualTo(String value) {
            addCriterion("nationalcid <=", value, "nationalcid");
            return (Criteria) this;
        }

        public Criteria andNationalcidLike(String value) {
            addCriterion("nationalcid like", value, "nationalcid");
            return (Criteria) this;
        }

        public Criteria andNationalcidNotLike(String value) {
            addCriterion("nationalcid not like", value, "nationalcid");
            return (Criteria) this;
        }

        public Criteria andNationalcidIn(List<String> values) {
            addCriterion("nationalcid in", values, "nationalcid");
            return (Criteria) this;
        }

        public Criteria andNationalcidNotIn(List<String> values) {
            addCriterion("nationalcid not in", values, "nationalcid");
            return (Criteria) this;
        }

        public Criteria andNationalcidBetween(String value1, String value2) {
            addCriterion("nationalcid between", value1, value2, "nationalcid");
            return (Criteria) this;
        }

        public Criteria andNationalcidNotBetween(String value1, String value2) {
            addCriterion("nationalcid not between", value1, value2, "nationalcid");
            return (Criteria) this;
        }

        public Criteria andCidIsNull() {
            addCriterion("cid is null");
            return (Criteria) this;
        }

        public Criteria andCidIsNotNull() {
            addCriterion("cid is not null");
            return (Criteria) this;
        }

        public Criteria andCidEqualTo(String value) {
            addCriterion("cid =", value, "cid");
            return (Criteria) this;
        }

        public Criteria andCidNotEqualTo(String value) {
            addCriterion("cid <>", value, "cid");
            return (Criteria) this;
        }

        public Criteria andCidGreaterThan(String value) {
            addCriterion("cid >", value, "cid");
            return (Criteria) this;
        }

        public Criteria andCidGreaterThanOrEqualTo(String value) {
            addCriterion("cid >=", value, "cid");
            return (Criteria) this;
        }

        public Criteria andCidLessThan(String value) {
            addCriterion("cid <", value, "cid");
            return (Criteria) this;
        }

        public Criteria andCidLessThanOrEqualTo(String value) {
            addCriterion("cid <=", value, "cid");
            return (Criteria) this;
        }

        public Criteria andCidLike(String value) {
            addCriterion("cid like", value, "cid");
            return (Criteria) this;
        }

        public Criteria andCidNotLike(String value) {
            addCriterion("cid not like", value, "cid");
            return (Criteria) this;
        }

        public Criteria andCidIn(List<String> values) {
            addCriterion("cid in", values, "cid");
            return (Criteria) this;
        }

        public Criteria andCidNotIn(List<String> values) {
            addCriterion("cid not in", values, "cid");
            return (Criteria) this;
        }

        public Criteria andCidBetween(String value1, String value2) {
            addCriterion("cid between", value1, value2, "cid");
            return (Criteria) this;
        }

        public Criteria andCidNotBetween(String value1, String value2) {
            addCriterion("cid not between", value1, value2, "cid");
            return (Criteria) this;
        }

        public Criteria andNationalmidIsNull() {
            addCriterion("nationalmid is null");
            return (Criteria) this;
        }

        public Criteria andNationalmidIsNotNull() {
            addCriterion("nationalmid is not null");
            return (Criteria) this;
        }

        public Criteria andNationalmidEqualTo(String value) {
            addCriterion("nationalmid =", value, "nationalmid");
            return (Criteria) this;
        }

        public Criteria andNationalmidNotEqualTo(String value) {
            addCriterion("nationalmid <>", value, "nationalmid");
            return (Criteria) this;
        }

        public Criteria andNationalmidGreaterThan(String value) {
            addCriterion("nationalmid >", value, "nationalmid");
            return (Criteria) this;
        }

        public Criteria andNationalmidGreaterThanOrEqualTo(String value) {
            addCriterion("nationalmid >=", value, "nationalmid");
            return (Criteria) this;
        }

        public Criteria andNationalmidLessThan(String value) {
            addCriterion("nationalmid <", value, "nationalmid");
            return (Criteria) this;
        }

        public Criteria andNationalmidLessThanOrEqualTo(String value) {
            addCriterion("nationalmid <=", value, "nationalmid");
            return (Criteria) this;
        }

        public Criteria andNationalmidLike(String value) {
            addCriterion("nationalmid like", value, "nationalmid");
            return (Criteria) this;
        }

        public Criteria andNationalmidNotLike(String value) {
            addCriterion("nationalmid not like", value, "nationalmid");
            return (Criteria) this;
        }

        public Criteria andNationalmidIn(List<String> values) {
            addCriterion("nationalmid in", values, "nationalmid");
            return (Criteria) this;
        }

        public Criteria andNationalmidNotIn(List<String> values) {
            addCriterion("nationalmid not in", values, "nationalmid");
            return (Criteria) this;
        }

        public Criteria andNationalmidBetween(String value1, String value2) {
            addCriterion("nationalmid between", value1, value2, "nationalmid");
            return (Criteria) this;
        }

        public Criteria andNationalmidNotBetween(String value1, String value2) {
            addCriterion("nationalmid not between", value1, value2, "nationalmid");
            return (Criteria) this;
        }

        public Criteria andMnaneIsNull() {
            addCriterion("mnane is null");
            return (Criteria) this;
        }

        public Criteria andMnaneIsNotNull() {
            addCriterion("mnane is not null");
            return (Criteria) this;
        }

        public Criteria andMnaneEqualTo(String value) {
            addCriterion("mnane =", value, "mnane");
            return (Criteria) this;
        }

        public Criteria andMnaneNotEqualTo(String value) {
            addCriterion("mnane <>", value, "mnane");
            return (Criteria) this;
        }

        public Criteria andMnaneGreaterThan(String value) {
            addCriterion("mnane >", value, "mnane");
            return (Criteria) this;
        }

        public Criteria andMnaneGreaterThanOrEqualTo(String value) {
            addCriterion("mnane >=", value, "mnane");
            return (Criteria) this;
        }

        public Criteria andMnaneLessThan(String value) {
            addCriterion("mnane <", value, "mnane");
            return (Criteria) this;
        }

        public Criteria andMnaneLessThanOrEqualTo(String value) {
            addCriterion("mnane <=", value, "mnane");
            return (Criteria) this;
        }

        public Criteria andMnaneLike(String value) {
            addCriterion("mnane like", value, "mnane");
            return (Criteria) this;
        }

        public Criteria andMnaneNotLike(String value) {
            addCriterion("mnane not like", value, "mnane");
            return (Criteria) this;
        }

        public Criteria andMnaneIn(List<String> values) {
            addCriterion("mnane in", values, "mnane");
            return (Criteria) this;
        }

        public Criteria andMnaneNotIn(List<String> values) {
            addCriterion("mnane not in", values, "mnane");
            return (Criteria) this;
        }

        public Criteria andMnaneBetween(String value1, String value2) {
            addCriterion("mnane between", value1, value2, "mnane");
            return (Criteria) this;
        }

        public Criteria andMnaneNotBetween(String value1, String value2) {
            addCriterion("mnane not between", value1, value2, "mnane");
            return (Criteria) this;
        }

        public Criteria andMexplainIsNull() {
            addCriterion("mexplain is null");
            return (Criteria) this;
        }

        public Criteria andMexplainIsNotNull() {
            addCriterion("mexplain is not null");
            return (Criteria) this;
        }

        public Criteria andMexplainEqualTo(String value) {
            addCriterion("mexplain =", value, "mexplain");
            return (Criteria) this;
        }

        public Criteria andMexplainNotEqualTo(String value) {
            addCriterion("mexplain <>", value, "mexplain");
            return (Criteria) this;
        }

        public Criteria andMexplainGreaterThan(String value) {
            addCriterion("mexplain >", value, "mexplain");
            return (Criteria) this;
        }

        public Criteria andMexplainGreaterThanOrEqualTo(String value) {
            addCriterion("mexplain >=", value, "mexplain");
            return (Criteria) this;
        }

        public Criteria andMexplainLessThan(String value) {
            addCriterion("mexplain <", value, "mexplain");
            return (Criteria) this;
        }

        public Criteria andMexplainLessThanOrEqualTo(String value) {
            addCriterion("mexplain <=", value, "mexplain");
            return (Criteria) this;
        }

        public Criteria andMexplainLike(String value) {
            addCriterion("mexplain like", value, "mexplain");
            return (Criteria) this;
        }

        public Criteria andMexplainNotLike(String value) {
            addCriterion("mexplain not like", value, "mexplain");
            return (Criteria) this;
        }

        public Criteria andMexplainIn(List<String> values) {
            addCriterion("mexplain in", values, "mexplain");
            return (Criteria) this;
        }

        public Criteria andMexplainNotIn(List<String> values) {
            addCriterion("mexplain not in", values, "mexplain");
            return (Criteria) this;
        }

        public Criteria andMexplainBetween(String value1, String value2) {
            addCriterion("mexplain between", value1, value2, "mexplain");
            return (Criteria) this;
        }

        public Criteria andMexplainNotBetween(String value1, String value2) {
            addCriterion("mexplain not between", value1, value2, "mexplain");
            return (Criteria) this;
        }

        public Criteria andMkindIsNull() {
            addCriterion("mkind is null");
            return (Criteria) this;
        }

        public Criteria andMkindIsNotNull() {
            addCriterion("mkind is not null");
            return (Criteria) this;
        }

        public Criteria andMkindEqualTo(String value) {
            addCriterion("mkind =", value, "mkind");
            return (Criteria) this;
        }

        public Criteria andMkindNotEqualTo(String value) {
            addCriterion("mkind <>", value, "mkind");
            return (Criteria) this;
        }

        public Criteria andMkindGreaterThan(String value) {
            addCriterion("mkind >", value, "mkind");
            return (Criteria) this;
        }

        public Criteria andMkindGreaterThanOrEqualTo(String value) {
            addCriterion("mkind >=", value, "mkind");
            return (Criteria) this;
        }

        public Criteria andMkindLessThan(String value) {
            addCriterion("mkind <", value, "mkind");
            return (Criteria) this;
        }

        public Criteria andMkindLessThanOrEqualTo(String value) {
            addCriterion("mkind <=", value, "mkind");
            return (Criteria) this;
        }

        public Criteria andMkindLike(String value) {
            addCriterion("mkind like", value, "mkind");
            return (Criteria) this;
        }

        public Criteria andMkindNotLike(String value) {
            addCriterion("mkind not like", value, "mkind");
            return (Criteria) this;
        }

        public Criteria andMkindIn(List<String> values) {
            addCriterion("mkind in", values, "mkind");
            return (Criteria) this;
        }

        public Criteria andMkindNotIn(List<String> values) {
            addCriterion("mkind not in", values, "mkind");
            return (Criteria) this;
        }

        public Criteria andMkindBetween(String value1, String value2) {
            addCriterion("mkind between", value1, value2, "mkind");
            return (Criteria) this;
        }

        public Criteria andMkindNotBetween(String value1, String value2) {
            addCriterion("mkind not between", value1, value2, "mkind");
            return (Criteria) this;
        }

        public Criteria andEducationIsNull() {
            addCriterion("education is null");
            return (Criteria) this;
        }

        public Criteria andEducationIsNotNull() {
            addCriterion("education is not null");
            return (Criteria) this;
        }

        public Criteria andEducationEqualTo(String value) {
            addCriterion("education =", value, "education");
            return (Criteria) this;
        }

        public Criteria andEducationNotEqualTo(String value) {
            addCriterion("education <>", value, "education");
            return (Criteria) this;
        }

        public Criteria andEducationGreaterThan(String value) {
            addCriterion("education >", value, "education");
            return (Criteria) this;
        }

        public Criteria andEducationGreaterThanOrEqualTo(String value) {
            addCriterion("education >=", value, "education");
            return (Criteria) this;
        }

        public Criteria andEducationLessThan(String value) {
            addCriterion("education <", value, "education");
            return (Criteria) this;
        }

        public Criteria andEducationLessThanOrEqualTo(String value) {
            addCriterion("education <=", value, "education");
            return (Criteria) this;
        }

        public Criteria andEducationLike(String value) {
            addCriterion("education like", value, "education");
            return (Criteria) this;
        }

        public Criteria andEducationNotLike(String value) {
            addCriterion("education not like", value, "education");
            return (Criteria) this;
        }

        public Criteria andEducationIn(List<String> values) {
            addCriterion("education in", values, "education");
            return (Criteria) this;
        }

        public Criteria andEducationNotIn(List<String> values) {
            addCriterion("education not in", values, "education");
            return (Criteria) this;
        }

        public Criteria andEducationBetween(String value1, String value2) {
            addCriterion("education between", value1, value2, "education");
            return (Criteria) this;
        }

        public Criteria andEducationNotBetween(String value1, String value2) {
            addCriterion("education not between", value1, value2, "education");
            return (Criteria) this;
        }

        public Criteria andBeginkindIsNull() {
            addCriterion("beginkind is null");
            return (Criteria) this;
        }

        public Criteria andBeginkindIsNotNull() {
            addCriterion("beginkind is not null");
            return (Criteria) this;
        }

        public Criteria andBeginkindEqualTo(String value) {
            addCriterion("beginkind =", value, "beginkind");
            return (Criteria) this;
        }

        public Criteria andBeginkindNotEqualTo(String value) {
            addCriterion("beginkind <>", value, "beginkind");
            return (Criteria) this;
        }

        public Criteria andBeginkindGreaterThan(String value) {
            addCriterion("beginkind >", value, "beginkind");
            return (Criteria) this;
        }

        public Criteria andBeginkindGreaterThanOrEqualTo(String value) {
            addCriterion("beginkind >=", value, "beginkind");
            return (Criteria) this;
        }

        public Criteria andBeginkindLessThan(String value) {
            addCriterion("beginkind <", value, "beginkind");
            return (Criteria) this;
        }

        public Criteria andBeginkindLessThanOrEqualTo(String value) {
            addCriterion("beginkind <=", value, "beginkind");
            return (Criteria) this;
        }

        public Criteria andBeginkindLike(String value) {
            addCriterion("beginkind like", value, "beginkind");
            return (Criteria) this;
        }

        public Criteria andBeginkindNotLike(String value) {
            addCriterion("beginkind not like", value, "beginkind");
            return (Criteria) this;
        }

        public Criteria andBeginkindIn(List<String> values) {
            addCriterion("beginkind in", values, "beginkind");
            return (Criteria) this;
        }

        public Criteria andBeginkindNotIn(List<String> values) {
            addCriterion("beginkind not in", values, "beginkind");
            return (Criteria) this;
        }

        public Criteria andBeginkindBetween(String value1, String value2) {
            addCriterion("beginkind between", value1, value2, "beginkind");
            return (Criteria) this;
        }

        public Criteria andBeginkindNotBetween(String value1, String value2) {
            addCriterion("beginkind not between", value1, value2, "beginkind");
            return (Criteria) this;
        }

        public Criteria andTestcollegeIsNull() {
            addCriterion("testcollege is null");
            return (Criteria) this;
        }

        public Criteria andTestcollegeIsNotNull() {
            addCriterion("testcollege is not null");
            return (Criteria) this;
        }

        public Criteria andTestcollegeEqualTo(String value) {
            addCriterion("testcollege =", value, "testcollege");
            return (Criteria) this;
        }

        public Criteria andTestcollegeNotEqualTo(String value) {
            addCriterion("testcollege <>", value, "testcollege");
            return (Criteria) this;
        }

        public Criteria andTestcollegeGreaterThan(String value) {
            addCriterion("testcollege >", value, "testcollege");
            return (Criteria) this;
        }

        public Criteria andTestcollegeGreaterThanOrEqualTo(String value) {
            addCriterion("testcollege >=", value, "testcollege");
            return (Criteria) this;
        }

        public Criteria andTestcollegeLessThan(String value) {
            addCriterion("testcollege <", value, "testcollege");
            return (Criteria) this;
        }

        public Criteria andTestcollegeLessThanOrEqualTo(String value) {
            addCriterion("testcollege <=", value, "testcollege");
            return (Criteria) this;
        }

        public Criteria andTestcollegeLike(String value) {
            addCriterion("testcollege like", value, "testcollege");
            return (Criteria) this;
        }

        public Criteria andTestcollegeNotLike(String value) {
            addCriterion("testcollege not like", value, "testcollege");
            return (Criteria) this;
        }

        public Criteria andTestcollegeIn(List<String> values) {
            addCriterion("testcollege in", values, "testcollege");
            return (Criteria) this;
        }

        public Criteria andTestcollegeNotIn(List<String> values) {
            addCriterion("testcollege not in", values, "testcollege");
            return (Criteria) this;
        }

        public Criteria andTestcollegeBetween(String value1, String value2) {
            addCriterion("testcollege between", value1, value2, "testcollege");
            return (Criteria) this;
        }

        public Criteria andTestcollegeNotBetween(String value1, String value2) {
            addCriterion("testcollege not between", value1, value2, "testcollege");
            return (Criteria) this;
        }

        public Criteria andFirsttestIsNull() {
            addCriterion("firsttest is null");
            return (Criteria) this;
        }

        public Criteria andFirsttestIsNotNull() {
            addCriterion("firsttest is not null");
            return (Criteria) this;
        }

        public Criteria andFirsttestEqualTo(String value) {
            addCriterion("firsttest =", value, "firsttest");
            return (Criteria) this;
        }

        public Criteria andFirsttestNotEqualTo(String value) {
            addCriterion("firsttest <>", value, "firsttest");
            return (Criteria) this;
        }

        public Criteria andFirsttestGreaterThan(String value) {
            addCriterion("firsttest >", value, "firsttest");
            return (Criteria) this;
        }

        public Criteria andFirsttestGreaterThanOrEqualTo(String value) {
            addCriterion("firsttest >=", value, "firsttest");
            return (Criteria) this;
        }

        public Criteria andFirsttestLessThan(String value) {
            addCriterion("firsttest <", value, "firsttest");
            return (Criteria) this;
        }

        public Criteria andFirsttestLessThanOrEqualTo(String value) {
            addCriterion("firsttest <=", value, "firsttest");
            return (Criteria) this;
        }

        public Criteria andFirsttestLike(String value) {
            addCriterion("firsttest like", value, "firsttest");
            return (Criteria) this;
        }

        public Criteria andFirsttestNotLike(String value) {
            addCriterion("firsttest not like", value, "firsttest");
            return (Criteria) this;
        }

        public Criteria andFirsttestIn(List<String> values) {
            addCriterion("firsttest in", values, "firsttest");
            return (Criteria) this;
        }

        public Criteria andFirsttestNotIn(List<String> values) {
            addCriterion("firsttest not in", values, "firsttest");
            return (Criteria) this;
        }

        public Criteria andFirsttestBetween(String value1, String value2) {
            addCriterion("firsttest between", value1, value2, "firsttest");
            return (Criteria) this;
        }

        public Criteria andFirsttestNotBetween(String value1, String value2) {
            addCriterion("firsttest not between", value1, value2, "firsttest");
            return (Criteria) this;
        }

        public Criteria andPermmitidIsNull() {
            addCriterion("permmitid is null");
            return (Criteria) this;
        }

        public Criteria andPermmitidIsNotNull() {
            addCriterion("permmitid is not null");
            return (Criteria) this;
        }

        public Criteria andPermmitidEqualTo(String value) {
            addCriterion("permmitid =", value, "permmitid");
            return (Criteria) this;
        }

        public Criteria andPermmitidNotEqualTo(String value) {
            addCriterion("permmitid <>", value, "permmitid");
            return (Criteria) this;
        }

        public Criteria andPermmitidGreaterThan(String value) {
            addCriterion("permmitid >", value, "permmitid");
            return (Criteria) this;
        }

        public Criteria andPermmitidGreaterThanOrEqualTo(String value) {
            addCriterion("permmitid >=", value, "permmitid");
            return (Criteria) this;
        }

        public Criteria andPermmitidLessThan(String value) {
            addCriterion("permmitid <", value, "permmitid");
            return (Criteria) this;
        }

        public Criteria andPermmitidLessThanOrEqualTo(String value) {
            addCriterion("permmitid <=", value, "permmitid");
            return (Criteria) this;
        }

        public Criteria andPermmitidLike(String value) {
            addCriterion("permmitid like", value, "permmitid");
            return (Criteria) this;
        }

        public Criteria andPermmitidNotLike(String value) {
            addCriterion("permmitid not like", value, "permmitid");
            return (Criteria) this;
        }

        public Criteria andPermmitidIn(List<String> values) {
            addCriterion("permmitid in", values, "permmitid");
            return (Criteria) this;
        }

        public Criteria andPermmitidNotIn(List<String> values) {
            addCriterion("permmitid not in", values, "permmitid");
            return (Criteria) this;
        }

        public Criteria andPermmitidBetween(String value1, String value2) {
            addCriterion("permmitid between", value1, value2, "permmitid");
            return (Criteria) this;
        }

        public Criteria andPermmitidNotBetween(String value1, String value2) {
            addCriterion("permmitid not between", value1, value2, "permmitid");
            return (Criteria) this;
        }

        public Criteria andStoptoregisterIsNull() {
            addCriterion("stoptoregister is null");
            return (Criteria) this;
        }

        public Criteria andStoptoregisterIsNotNull() {
            addCriterion("stoptoregister is not null");
            return (Criteria) this;
        }

        public Criteria andStoptoregisterEqualTo(String value) {
            addCriterion("stoptoregister =", value, "stoptoregister");
            return (Criteria) this;
        }

        public Criteria andStoptoregisterNotEqualTo(String value) {
            addCriterion("stoptoregister <>", value, "stoptoregister");
            return (Criteria) this;
        }

        public Criteria andStoptoregisterGreaterThan(String value) {
            addCriterion("stoptoregister >", value, "stoptoregister");
            return (Criteria) this;
        }

        public Criteria andStoptoregisterGreaterThanOrEqualTo(String value) {
            addCriterion("stoptoregister >=", value, "stoptoregister");
            return (Criteria) this;
        }

        public Criteria andStoptoregisterLessThan(String value) {
            addCriterion("stoptoregister <", value, "stoptoregister");
            return (Criteria) this;
        }

        public Criteria andStoptoregisterLessThanOrEqualTo(String value) {
            addCriterion("stoptoregister <=", value, "stoptoregister");
            return (Criteria) this;
        }

        public Criteria andStoptoregisterLike(String value) {
            addCriterion("stoptoregister like", value, "stoptoregister");
            return (Criteria) this;
        }

        public Criteria andStoptoregisterNotLike(String value) {
            addCriterion("stoptoregister not like", value, "stoptoregister");
            return (Criteria) this;
        }

        public Criteria andStoptoregisterIn(List<String> values) {
            addCriterion("stoptoregister in", values, "stoptoregister");
            return (Criteria) this;
        }

        public Criteria andStoptoregisterNotIn(List<String> values) {
            addCriterion("stoptoregister not in", values, "stoptoregister");
            return (Criteria) this;
        }

        public Criteria andStoptoregisterBetween(String value1, String value2) {
            addCriterion("stoptoregister between", value1, value2, "stoptoregister");
            return (Criteria) this;
        }

        public Criteria andStoptoregisterNotBetween(String value1, String value2) {
            addCriterion("stoptoregister not between", value1, value2, "stoptoregister");
            return (Criteria) this;
        }

        public Criteria andStoptoreidIsNull() {
            addCriterion("stoptoreid is null");
            return (Criteria) this;
        }

        public Criteria andStoptoreidIsNotNull() {
            addCriterion("stoptoreid is not null");
            return (Criteria) this;
        }

        public Criteria andStoptoreidEqualTo(String value) {
            addCriterion("stoptoreid =", value, "stoptoreid");
            return (Criteria) this;
        }

        public Criteria andStoptoreidNotEqualTo(String value) {
            addCriterion("stoptoreid <>", value, "stoptoreid");
            return (Criteria) this;
        }

        public Criteria andStoptoreidGreaterThan(String value) {
            addCriterion("stoptoreid >", value, "stoptoreid");
            return (Criteria) this;
        }

        public Criteria andStoptoreidGreaterThanOrEqualTo(String value) {
            addCriterion("stoptoreid >=", value, "stoptoreid");
            return (Criteria) this;
        }

        public Criteria andStoptoreidLessThan(String value) {
            addCriterion("stoptoreid <", value, "stoptoreid");
            return (Criteria) this;
        }

        public Criteria andStoptoreidLessThanOrEqualTo(String value) {
            addCriterion("stoptoreid <=", value, "stoptoreid");
            return (Criteria) this;
        }

        public Criteria andStoptoreidLike(String value) {
            addCriterion("stoptoreid like", value, "stoptoreid");
            return (Criteria) this;
        }

        public Criteria andStoptoreidNotLike(String value) {
            addCriterion("stoptoreid not like", value, "stoptoreid");
            return (Criteria) this;
        }

        public Criteria andStoptoreidIn(List<String> values) {
            addCriterion("stoptoreid in", values, "stoptoreid");
            return (Criteria) this;
        }

        public Criteria andStoptoreidNotIn(List<String> values) {
            addCriterion("stoptoreid not in", values, "stoptoreid");
            return (Criteria) this;
        }

        public Criteria andStoptoreidBetween(String value1, String value2) {
            addCriterion("stoptoreid between", value1, value2, "stoptoreid");
            return (Criteria) this;
        }

        public Criteria andStoptoreidNotBetween(String value1, String value2) {
            addCriterion("stoptoreid not between", value1, value2, "stoptoreid");
            return (Criteria) this;
        }

        public Criteria andStoptesttimeIsNull() {
            addCriterion("stoptesttime is null");
            return (Criteria) this;
        }

        public Criteria andStoptesttimeIsNotNull() {
            addCriterion("stoptesttime is not null");
            return (Criteria) this;
        }

        public Criteria andStoptesttimeEqualTo(String value) {
            addCriterion("stoptesttime =", value, "stoptesttime");
            return (Criteria) this;
        }

        public Criteria andStoptesttimeNotEqualTo(String value) {
            addCriterion("stoptesttime <>", value, "stoptesttime");
            return (Criteria) this;
        }

        public Criteria andStoptesttimeGreaterThan(String value) {
            addCriterion("stoptesttime >", value, "stoptesttime");
            return (Criteria) this;
        }

        public Criteria andStoptesttimeGreaterThanOrEqualTo(String value) {
            addCriterion("stoptesttime >=", value, "stoptesttime");
            return (Criteria) this;
        }

        public Criteria andStoptesttimeLessThan(String value) {
            addCriterion("stoptesttime <", value, "stoptesttime");
            return (Criteria) this;
        }

        public Criteria andStoptesttimeLessThanOrEqualTo(String value) {
            addCriterion("stoptesttime <=", value, "stoptesttime");
            return (Criteria) this;
        }

        public Criteria andStoptesttimeLike(String value) {
            addCriterion("stoptesttime like", value, "stoptesttime");
            return (Criteria) this;
        }

        public Criteria andStoptesttimeNotLike(String value) {
            addCriterion("stoptesttime not like", value, "stoptesttime");
            return (Criteria) this;
        }

        public Criteria andStoptesttimeIn(List<String> values) {
            addCriterion("stoptesttime in", values, "stoptesttime");
            return (Criteria) this;
        }

        public Criteria andStoptesttimeNotIn(List<String> values) {
            addCriterion("stoptesttime not in", values, "stoptesttime");
            return (Criteria) this;
        }

        public Criteria andStoptesttimeBetween(String value1, String value2) {
            addCriterion("stoptesttime between", value1, value2, "stoptesttime");
            return (Criteria) this;
        }

        public Criteria andStoptesttimeNotBetween(String value1, String value2) {
            addCriterion("stoptesttime not between", value1, value2, "stoptesttime");
            return (Criteria) this;
        }

        public Criteria andStoptestidIsNull() {
            addCriterion("stoptestid is null");
            return (Criteria) this;
        }

        public Criteria andStoptestidIsNotNull() {
            addCriterion("stoptestid is not null");
            return (Criteria) this;
        }

        public Criteria andStoptestidEqualTo(String value) {
            addCriterion("stoptestid =", value, "stoptestid");
            return (Criteria) this;
        }

        public Criteria andStoptestidNotEqualTo(String value) {
            addCriterion("stoptestid <>", value, "stoptestid");
            return (Criteria) this;
        }

        public Criteria andStoptestidGreaterThan(String value) {
            addCriterion("stoptestid >", value, "stoptestid");
            return (Criteria) this;
        }

        public Criteria andStoptestidGreaterThanOrEqualTo(String value) {
            addCriterion("stoptestid >=", value, "stoptestid");
            return (Criteria) this;
        }

        public Criteria andStoptestidLessThan(String value) {
            addCriterion("stoptestid <", value, "stoptestid");
            return (Criteria) this;
        }

        public Criteria andStoptestidLessThanOrEqualTo(String value) {
            addCriterion("stoptestid <=", value, "stoptestid");
            return (Criteria) this;
        }

        public Criteria andStoptestidLike(String value) {
            addCriterion("stoptestid like", value, "stoptestid");
            return (Criteria) this;
        }

        public Criteria andStoptestidNotLike(String value) {
            addCriterion("stoptestid not like", value, "stoptestid");
            return (Criteria) this;
        }

        public Criteria andStoptestidIn(List<String> values) {
            addCriterion("stoptestid in", values, "stoptestid");
            return (Criteria) this;
        }

        public Criteria andStoptestidNotIn(List<String> values) {
            addCriterion("stoptestid not in", values, "stoptestid");
            return (Criteria) this;
        }

        public Criteria andStoptestidBetween(String value1, String value2) {
            addCriterion("stoptestid between", value1, value2, "stoptestid");
            return (Criteria) this;
        }

        public Criteria andStoptestidNotBetween(String value1, String value2) {
            addCriterion("stoptestid not between", value1, value2, "stoptestid");
            return (Criteria) this;
        }

        public Criteria andStopgivedateIsNull() {
            addCriterion("stopgivedate is null");
            return (Criteria) this;
        }

        public Criteria andStopgivedateIsNotNull() {
            addCriterion("stopgivedate is not null");
            return (Criteria) this;
        }

        public Criteria andStopgivedateEqualTo(Date value) {
            addCriterionForJDBCDate("stopgivedate =", value, "stopgivedate");
            return (Criteria) this;
        }

        public Criteria andStopgivedateNotEqualTo(Date value) {
            addCriterionForJDBCDate("stopgivedate <>", value, "stopgivedate");
            return (Criteria) this;
        }

        public Criteria andStopgivedateGreaterThan(Date value) {
            addCriterionForJDBCDate("stopgivedate >", value, "stopgivedate");
            return (Criteria) this;
        }

        public Criteria andStopgivedateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("stopgivedate >=", value, "stopgivedate");
            return (Criteria) this;
        }

        public Criteria andStopgivedateLessThan(Date value) {
            addCriterionForJDBCDate("stopgivedate <", value, "stopgivedate");
            return (Criteria) this;
        }

        public Criteria andStopgivedateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("stopgivedate <=", value, "stopgivedate");
            return (Criteria) this;
        }

        public Criteria andStopgivedateIn(List<Date> values) {
            addCriterionForJDBCDate("stopgivedate in", values, "stopgivedate");
            return (Criteria) this;
        }

        public Criteria andStopgivedateNotIn(List<Date> values) {
            addCriterionForJDBCDate("stopgivedate not in", values, "stopgivedate");
            return (Criteria) this;
        }

        public Criteria andStopgivedateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("stopgivedate between", value1, value2, "stopgivedate");
            return (Criteria) this;
        }

        public Criteria andStopgivedateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("stopgivedate not between", value1, value2, "stopgivedate");
            return (Criteria) this;
        }

        public Criteria andStopgiveidIsNull() {
            addCriterion("stopgiveid is null");
            return (Criteria) this;
        }

        public Criteria andStopgiveidIsNotNull() {
            addCriterion("stopgiveid is not null");
            return (Criteria) this;
        }

        public Criteria andStopgiveidEqualTo(String value) {
            addCriterion("stopgiveid =", value, "stopgiveid");
            return (Criteria) this;
        }

        public Criteria andStopgiveidNotEqualTo(String value) {
            addCriterion("stopgiveid <>", value, "stopgiveid");
            return (Criteria) this;
        }

        public Criteria andStopgiveidGreaterThan(String value) {
            addCriterion("stopgiveid >", value, "stopgiveid");
            return (Criteria) this;
        }

        public Criteria andStopgiveidGreaterThanOrEqualTo(String value) {
            addCriterion("stopgiveid >=", value, "stopgiveid");
            return (Criteria) this;
        }

        public Criteria andStopgiveidLessThan(String value) {
            addCriterion("stopgiveid <", value, "stopgiveid");
            return (Criteria) this;
        }

        public Criteria andStopgiveidLessThanOrEqualTo(String value) {
            addCriterion("stopgiveid <=", value, "stopgiveid");
            return (Criteria) this;
        }

        public Criteria andStopgiveidLike(String value) {
            addCriterion("stopgiveid like", value, "stopgiveid");
            return (Criteria) this;
        }

        public Criteria andStopgiveidNotLike(String value) {
            addCriterion("stopgiveid not like", value, "stopgiveid");
            return (Criteria) this;
        }

        public Criteria andStopgiveidIn(List<String> values) {
            addCriterion("stopgiveid in", values, "stopgiveid");
            return (Criteria) this;
        }

        public Criteria andStopgiveidNotIn(List<String> values) {
            addCriterion("stopgiveid not in", values, "stopgiveid");
            return (Criteria) this;
        }

        public Criteria andStopgiveidBetween(String value1, String value2) {
            addCriterion("stopgiveid between", value1, value2, "stopgiveid");
            return (Criteria) this;
        }

        public Criteria andStopgiveidNotBetween(String value1, String value2) {
            addCriterion("stopgiveid not between", value1, value2, "stopgiveid");
            return (Criteria) this;
        }

        public Criteria andMstatusIsNull() {
            addCriterion("mstatus is null");
            return (Criteria) this;
        }

        public Criteria andMstatusIsNotNull() {
            addCriterion("mstatus is not null");
            return (Criteria) this;
        }

        public Criteria andMstatusEqualTo(String value) {
            addCriterion("mstatus =", value, "mstatus");
            return (Criteria) this;
        }

        public Criteria andMstatusNotEqualTo(String value) {
            addCriterion("mstatus <>", value, "mstatus");
            return (Criteria) this;
        }

        public Criteria andMstatusGreaterThan(String value) {
            addCriterion("mstatus >", value, "mstatus");
            return (Criteria) this;
        }

        public Criteria andMstatusGreaterThanOrEqualTo(String value) {
            addCriterion("mstatus >=", value, "mstatus");
            return (Criteria) this;
        }

        public Criteria andMstatusLessThan(String value) {
            addCriterion("mstatus <", value, "mstatus");
            return (Criteria) this;
        }

        public Criteria andMstatusLessThanOrEqualTo(String value) {
            addCriterion("mstatus <=", value, "mstatus");
            return (Criteria) this;
        }

        public Criteria andMstatusLike(String value) {
            addCriterion("mstatus like", value, "mstatus");
            return (Criteria) this;
        }

        public Criteria andMstatusNotLike(String value) {
            addCriterion("mstatus not like", value, "mstatus");
            return (Criteria) this;
        }

        public Criteria andMstatusIn(List<String> values) {
            addCriterion("mstatus in", values, "mstatus");
            return (Criteria) this;
        }

        public Criteria andMstatusNotIn(List<String> values) {
            addCriterion("mstatus not in", values, "mstatus");
            return (Criteria) this;
        }

        public Criteria andMstatusBetween(String value1, String value2) {
            addCriterion("mstatus between", value1, value2, "mstatus");
            return (Criteria) this;
        }

        public Criteria andMstatusNotBetween(String value1, String value2) {
            addCriterion("mstatus not between", value1, value2, "mstatus");
            return (Criteria) this;
        }

        public Criteria andTotalcreditIsNull() {
            addCriterion("totalcredit is null");
            return (Criteria) this;
        }

        public Criteria andTotalcreditIsNotNull() {
            addCriterion("totalcredit is not null");
            return (Criteria) this;
        }

        public Criteria andTotalcreditEqualTo(Float value) {
            addCriterion("totalcredit =", value, "totalcredit");
            return (Criteria) this;
        }

        public Criteria andTotalcreditNotEqualTo(Float value) {
            addCriterion("totalcredit <>", value, "totalcredit");
            return (Criteria) this;
        }

        public Criteria andTotalcreditGreaterThan(Float value) {
            addCriterion("totalcredit >", value, "totalcredit");
            return (Criteria) this;
        }

        public Criteria andTotalcreditGreaterThanOrEqualTo(Float value) {
            addCriterion("totalcredit >=", value, "totalcredit");
            return (Criteria) this;
        }

        public Criteria andTotalcreditLessThan(Float value) {
            addCriterion("totalcredit <", value, "totalcredit");
            return (Criteria) this;
        }

        public Criteria andTotalcreditLessThanOrEqualTo(Float value) {
            addCriterion("totalcredit <=", value, "totalcredit");
            return (Criteria) this;
        }

        public Criteria andTotalcreditIn(List<Float> values) {
            addCriterion("totalcredit in", values, "totalcredit");
            return (Criteria) this;
        }

        public Criteria andTotalcreditNotIn(List<Float> values) {
            addCriterion("totalcredit not in", values, "totalcredit");
            return (Criteria) this;
        }

        public Criteria andTotalcreditBetween(Float value1, Float value2) {
            addCriterion("totalcredit between", value1, value2, "totalcredit");
            return (Criteria) this;
        }

        public Criteria andTotalcreditNotBetween(Float value1, Float value2) {
            addCriterion("totalcredit not between", value1, value2, "totalcredit");
            return (Criteria) this;
        }

        public Criteria andGruacreditIsNull() {
            addCriterion("gruacredit is null");
            return (Criteria) this;
        }

        public Criteria andGruacreditIsNotNull() {
            addCriterion("gruacredit is not null");
            return (Criteria) this;
        }

        public Criteria andGruacreditEqualTo(Float value) {
            addCriterion("gruacredit =", value, "gruacredit");
            return (Criteria) this;
        }

        public Criteria andGruacreditNotEqualTo(Float value) {
            addCriterion("gruacredit <>", value, "gruacredit");
            return (Criteria) this;
        }

        public Criteria andGruacreditGreaterThan(Float value) {
            addCriterion("gruacredit >", value, "gruacredit");
            return (Criteria) this;
        }

        public Criteria andGruacreditGreaterThanOrEqualTo(Float value) {
            addCriterion("gruacredit >=", value, "gruacredit");
            return (Criteria) this;
        }

        public Criteria andGruacreditLessThan(Float value) {
            addCriterion("gruacredit <", value, "gruacredit");
            return (Criteria) this;
        }

        public Criteria andGruacreditLessThanOrEqualTo(Float value) {
            addCriterion("gruacredit <=", value, "gruacredit");
            return (Criteria) this;
        }

        public Criteria andGruacreditIn(List<Float> values) {
            addCriterion("gruacredit in", values, "gruacredit");
            return (Criteria) this;
        }

        public Criteria andGruacreditNotIn(List<Float> values) {
            addCriterion("gruacredit not in", values, "gruacredit");
            return (Criteria) this;
        }

        public Criteria andGruacreditBetween(Float value1, Float value2) {
            addCriterion("gruacredit between", value1, value2, "gruacredit");
            return (Criteria) this;
        }

        public Criteria andGruacreditNotBetween(Float value1, Float value2) {
            addCriterion("gruacredit not between", value1, value2, "gruacredit");
            return (Criteria) this;
        }

        public Criteria andTotalcoursenumIsNull() {
            addCriterion("totalcoursenum is null");
            return (Criteria) this;
        }

        public Criteria andTotalcoursenumIsNotNull() {
            addCriterion("totalcoursenum is not null");
            return (Criteria) this;
        }

        public Criteria andTotalcoursenumEqualTo(Integer value) {
            addCriterion("totalcoursenum =", value, "totalcoursenum");
            return (Criteria) this;
        }

        public Criteria andTotalcoursenumNotEqualTo(Integer value) {
            addCriterion("totalcoursenum <>", value, "totalcoursenum");
            return (Criteria) this;
        }

        public Criteria andTotalcoursenumGreaterThan(Integer value) {
            addCriterion("totalcoursenum >", value, "totalcoursenum");
            return (Criteria) this;
        }

        public Criteria andTotalcoursenumGreaterThanOrEqualTo(Integer value) {
            addCriterion("totalcoursenum >=", value, "totalcoursenum");
            return (Criteria) this;
        }

        public Criteria andTotalcoursenumLessThan(Integer value) {
            addCriterion("totalcoursenum <", value, "totalcoursenum");
            return (Criteria) this;
        }

        public Criteria andTotalcoursenumLessThanOrEqualTo(Integer value) {
            addCriterion("totalcoursenum <=", value, "totalcoursenum");
            return (Criteria) this;
        }

        public Criteria andTotalcoursenumIn(List<Integer> values) {
            addCriterion("totalcoursenum in", values, "totalcoursenum");
            return (Criteria) this;
        }

        public Criteria andTotalcoursenumNotIn(List<Integer> values) {
            addCriterion("totalcoursenum not in", values, "totalcoursenum");
            return (Criteria) this;
        }

        public Criteria andTotalcoursenumBetween(Integer value1, Integer value2) {
            addCriterion("totalcoursenum between", value1, value2, "totalcoursenum");
            return (Criteria) this;
        }

        public Criteria andTotalcoursenumNotBetween(Integer value1, Integer value2) {
            addCriterion("totalcoursenum not between", value1, value2, "totalcoursenum");
            return (Criteria) this;
        }

        public Criteria andDirectionIsNull() {
            addCriterion("direction is null");
            return (Criteria) this;
        }

        public Criteria andDirectionIsNotNull() {
            addCriterion("direction is not null");
            return (Criteria) this;
        }

        public Criteria andDirectionEqualTo(Boolean value) {
            addCriterion("direction =", value, "direction");
            return (Criteria) this;
        }

        public Criteria andDirectionNotEqualTo(Boolean value) {
            addCriterion("direction <>", value, "direction");
            return (Criteria) this;
        }

        public Criteria andDirectionGreaterThan(Boolean value) {
            addCriterion("direction >", value, "direction");
            return (Criteria) this;
        }

        public Criteria andDirectionGreaterThanOrEqualTo(Boolean value) {
            addCriterion("direction >=", value, "direction");
            return (Criteria) this;
        }

        public Criteria andDirectionLessThan(Boolean value) {
            addCriterion("direction <", value, "direction");
            return (Criteria) this;
        }

        public Criteria andDirectionLessThanOrEqualTo(Boolean value) {
            addCriterion("direction <=", value, "direction");
            return (Criteria) this;
        }

        public Criteria andDirectionIn(List<Boolean> values) {
            addCriterion("direction in", values, "direction");
            return (Criteria) this;
        }

        public Criteria andDirectionNotIn(List<Boolean> values) {
            addCriterion("direction not in", values, "direction");
            return (Criteria) this;
        }

        public Criteria andDirectionBetween(Boolean value1, Boolean value2) {
            addCriterion("direction between", value1, value2, "direction");
            return (Criteria) this;
        }

        public Criteria andDirectionNotBetween(Boolean value1, Boolean value2) {
            addCriterion("direction not between", value1, value2, "direction");
            return (Criteria) this;
        }

        public Criteria andMaforcategoryIsNull() {
            addCriterion("maforcategory is null");
            return (Criteria) this;
        }

        public Criteria andMaforcategoryIsNotNull() {
            addCriterion("maforcategory is not null");
            return (Criteria) this;
        }

        public Criteria andMaforcategoryEqualTo(String value) {
            addCriterion("maforcategory =", value, "maforcategory");
            return (Criteria) this;
        }

        public Criteria andMaforcategoryNotEqualTo(String value) {
            addCriterion("maforcategory <>", value, "maforcategory");
            return (Criteria) this;
        }

        public Criteria andMaforcategoryGreaterThan(String value) {
            addCriterion("maforcategory >", value, "maforcategory");
            return (Criteria) this;
        }

        public Criteria andMaforcategoryGreaterThanOrEqualTo(String value) {
            addCriterion("maforcategory >=", value, "maforcategory");
            return (Criteria) this;
        }

        public Criteria andMaforcategoryLessThan(String value) {
            addCriterion("maforcategory <", value, "maforcategory");
            return (Criteria) this;
        }

        public Criteria andMaforcategoryLessThanOrEqualTo(String value) {
            addCriterion("maforcategory <=", value, "maforcategory");
            return (Criteria) this;
        }

        public Criteria andMaforcategoryLike(String value) {
            addCriterion("maforcategory like", value, "maforcategory");
            return (Criteria) this;
        }

        public Criteria andMaforcategoryNotLike(String value) {
            addCriterion("maforcategory not like", value, "maforcategory");
            return (Criteria) this;
        }

        public Criteria andMaforcategoryIn(List<String> values) {
            addCriterion("maforcategory in", values, "maforcategory");
            return (Criteria) this;
        }

        public Criteria andMaforcategoryNotIn(List<String> values) {
            addCriterion("maforcategory not in", values, "maforcategory");
            return (Criteria) this;
        }

        public Criteria andMaforcategoryBetween(String value1, String value2) {
            addCriterion("maforcategory between", value1, value2, "maforcategory");
            return (Criteria) this;
        }

        public Criteria andMaforcategoryNotBetween(String value1, String value2) {
            addCriterion("maforcategory not between", value1, value2, "maforcategory");
            return (Criteria) this;
        }

        public Criteria andJointestexplainIsNull() {
            addCriterion("jointestexplain is null");
            return (Criteria) this;
        }

        public Criteria andJointestexplainIsNotNull() {
            addCriterion("jointestexplain is not null");
            return (Criteria) this;
        }

        public Criteria andJointestexplainEqualTo(String value) {
            addCriterion("jointestexplain =", value, "jointestexplain");
            return (Criteria) this;
        }

        public Criteria andJointestexplainNotEqualTo(String value) {
            addCriterion("jointestexplain <>", value, "jointestexplain");
            return (Criteria) this;
        }

        public Criteria andJointestexplainGreaterThan(String value) {
            addCriterion("jointestexplain >", value, "jointestexplain");
            return (Criteria) this;
        }

        public Criteria andJointestexplainGreaterThanOrEqualTo(String value) {
            addCriterion("jointestexplain >=", value, "jointestexplain");
            return (Criteria) this;
        }

        public Criteria andJointestexplainLessThan(String value) {
            addCriterion("jointestexplain <", value, "jointestexplain");
            return (Criteria) this;
        }

        public Criteria andJointestexplainLessThanOrEqualTo(String value) {
            addCriterion("jointestexplain <=", value, "jointestexplain");
            return (Criteria) this;
        }

        public Criteria andJointestexplainLike(String value) {
            addCriterion("jointestexplain like", value, "jointestexplain");
            return (Criteria) this;
        }

        public Criteria andJointestexplainNotLike(String value) {
            addCriterion("jointestexplain not like", value, "jointestexplain");
            return (Criteria) this;
        }

        public Criteria andJointestexplainIn(List<String> values) {
            addCriterion("jointestexplain in", values, "jointestexplain");
            return (Criteria) this;
        }

        public Criteria andJointestexplainNotIn(List<String> values) {
            addCriterion("jointestexplain not in", values, "jointestexplain");
            return (Criteria) this;
        }

        public Criteria andJointestexplainBetween(String value1, String value2) {
            addCriterion("jointestexplain between", value1, value2, "jointestexplain");
            return (Criteria) this;
        }

        public Criteria andJointestexplainNotBetween(String value1, String value2) {
            addCriterion("jointestexplain not between", value1, value2, "jointestexplain");
            return (Criteria) this;
        }

        public Criteria andGraduatexplainIsNull() {
            addCriterion("graduatexplain is null");
            return (Criteria) this;
        }

        public Criteria andGraduatexplainIsNotNull() {
            addCriterion("graduatexplain is not null");
            return (Criteria) this;
        }

        public Criteria andGraduatexplainEqualTo(String value) {
            addCriterion("graduatexplain =", value, "graduatexplain");
            return (Criteria) this;
        }

        public Criteria andGraduatexplainNotEqualTo(String value) {
            addCriterion("graduatexplain <>", value, "graduatexplain");
            return (Criteria) this;
        }

        public Criteria andGraduatexplainGreaterThan(String value) {
            addCriterion("graduatexplain >", value, "graduatexplain");
            return (Criteria) this;
        }

        public Criteria andGraduatexplainGreaterThanOrEqualTo(String value) {
            addCriterion("graduatexplain >=", value, "graduatexplain");
            return (Criteria) this;
        }

        public Criteria andGraduatexplainLessThan(String value) {
            addCriterion("graduatexplain <", value, "graduatexplain");
            return (Criteria) this;
        }

        public Criteria andGraduatexplainLessThanOrEqualTo(String value) {
            addCriterion("graduatexplain <=", value, "graduatexplain");
            return (Criteria) this;
        }

        public Criteria andGraduatexplainLike(String value) {
            addCriterion("graduatexplain like", value, "graduatexplain");
            return (Criteria) this;
        }

        public Criteria andGraduatexplainNotLike(String value) {
            addCriterion("graduatexplain not like", value, "graduatexplain");
            return (Criteria) this;
        }

        public Criteria andGraduatexplainIn(List<String> values) {
            addCriterion("graduatexplain in", values, "graduatexplain");
            return (Criteria) this;
        }

        public Criteria andGraduatexplainNotIn(List<String> values) {
            addCriterion("graduatexplain not in", values, "graduatexplain");
            return (Criteria) this;
        }

        public Criteria andGraduatexplainBetween(String value1, String value2) {
            addCriterion("graduatexplain between", value1, value2, "graduatexplain");
            return (Criteria) this;
        }

        public Criteria andGraduatexplainNotBetween(String value1, String value2) {
            addCriterion("graduatexplain not between", value1, value2, "graduatexplain");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNull() {
            addCriterion("remarks is null");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNotNull() {
            addCriterion("remarks is not null");
            return (Criteria) this;
        }

        public Criteria andRemarksEqualTo(String value) {
            addCriterion("remarks =", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotEqualTo(String value) {
            addCriterion("remarks <>", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThan(String value) {
            addCriterion("remarks >", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThanOrEqualTo(String value) {
            addCriterion("remarks >=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThan(String value) {
            addCriterion("remarks <", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThanOrEqualTo(String value) {
            addCriterion("remarks <=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLike(String value) {
            addCriterion("remarks like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotLike(String value) {
            addCriterion("remarks not like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksIn(List<String> values) {
            addCriterion("remarks in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotIn(List<String> values) {
            addCriterion("remarks not in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksBetween(String value1, String value2) {
            addCriterion("remarks between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotBetween(String value1, String value2) {
            addCriterion("remarks not between", value1, value2, "remarks");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}